﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
   
namespace ShadowCommando.Utilites
{
    /// <summary>
    /// Klasa obsługująca zapisywanie i odczytywanie pliów
    /// </summary>
    public class FilesManager
    {
        private XmlSerializer scoreXmlSerializer = new XmlSerializer(typeof(List<Score>));
        /// <summary>
        /// Updatuje liste najlepszych wyników
        /// </summary>
        /// <param name="_list">Nowa lista</param>
        /// <param name="_path">Ścieżka</param>
        public void UpdateHighScore(List<Score> _list, string _path)
        {
            StreamWriter streamWriter = new StreamWriter(_path);
            scoreXmlSerializer.Serialize(streamWriter, _list);
            streamWriter.Close();
        }
        /// <summary>
        /// Odczytuje liste najlepszych wyników
        /// </summary>
        /// <param name="_path">Ścieżka</param>
        /// <returns>Odczytana lista</returns>
        public List<Score> ReadHighScore(string _path)
        {
            StreamReader streamReader = new StreamReader(_path);
            List<Score> list = (List<Score>)scoreXmlSerializer.Deserialize(streamReader);
            streamReader.Close();
            return list;
        }
    }
}
